package com.design.pattern.sixprinciple.demeterprinciple;

import java.util.ArrayList;
import java.util.List;

/**
 * 迪米特原则 也被成为最小知识原则
 * 问题由来:类与类之间的关系越密切,耦合度越大，当一个类发生改变的时候，对另一个类的影响越大
 * 一个对象应该对其他对象有最少的了解
 * <p>
 * <p>
 * 含义：只和朋友交流 ，朋友类的定义是这样的：出现在成员变量、方法的输入输出参数中的类称为成员朋友类，而出现在方法体内部的类不属于朋友类。
 * 下面的代码在方法体内部依赖了其他类，这严重违反迪米特法则
 *
 * @author gyf
 * @create 2018-12-21 15:21
 **/
public class DemeterPrinciple {
    //违反了迪米特原则
    public void commond(GroupLeader groupLeader) {
        List<Gril> grilList = new ArrayList<>();
        for (int i = 0; i < 20; i++) {
            grilList.add(new Gril());
        }
        groupLeader.countGirls(grilList);
    }
}


